iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0

不知不覺挑戰已經過了一半,
悲觀的人:什麼,竟然還有一半
樂觀的人:什麼,已經過了一半

今天看了一龍馬詩客的一篇專訪,
主持人問他有沒有什麼力量泉源 "source of power",
詩客我大哥想了很久(感覺有 30 秒)他就說他沒想那麼多,
做就對了

說的蠻好的

同場加映,
他在另一個專訪說,
我有點忘記細節,
大意就是說,
他的字典裡沒有放棄這個字

這個人真的很有意思

扯題了…

==========

前情提要

  1. adhoc 寫一個 Python FastAPI 範例 + Dockerfile
  2. 用 Ansible 遠端部署
  3. 用 Ansible AWX 自動部署 <- 現在在這裡

其實在 AWX 上部署 Ansible playbook 就是一個重點,
「把 adhoc 版本的 inventory 移植到 web portal 上」,
什麼意思呢?

之前有提過一個 playbook 最重要的兩個設定檔,
ansible.cfginventory
你在 adhoc 執行的時候可能沒問題,
一搬上 AWX 就爛掉了…
甚至連專案都設定不了

原因是因為你可能會用公司內網的 dns 才能解析的 domain name 或是 ~/.ssh/config 裡的 hostname,
問題是 AWX 會在他自己的 container 裡執行你的 playbook,
而不是你在用的開發環境 e.g. ubuntu-dev-machine

反之,如果我們在 AWX 上能對齊 inventory 的設定,
那從 adhoc 的 playbook 搬上 AWX 就會變得相當容易、相當 trivial,
還在用 Jenkins 的大大真的應該嘗試一下

先來介紹一下當你把 Ansible AWX 架好之後,
登入之後的畫面

img

整個畫面非常簡潔,
沒什麼多餘的東西
左邊導覽列中,
你會用到的幾乎都在 [Views] 和 [Resources] 裡頭,
整個 web portal 的重心,
就是在為 Ansible playbook 服務

可以看到截圖右半邊的 Dashboard,
admin 可以看到這個 site 上所有的資源及其相關統計,
這簡接印證了 AWX 是可以提供多個帳號共同使用的系統,
也可以串公司的 LDAP/Windows AD 讓同仁用公司的帳密登入
img

不過 AWX 的 LDAP module 是從 Django 搬過來的,
你可能需要對 ldap schema 有一定的認識才能上手,
再不然也可以直接詢問貴司 IT,
我自己是找一台能摸到 ldap server 的機器,
ldapsearch 指令查看我司的 ldap schema 設計才自己搞定了 ldap authentication

為什麼不看看隔壁的 Gitlab 在 /etc/gitlab.rb 設定 ldap 有多簡單…
甚至你 AWX 整合 Gitlab authentication 他不香嗎,
我記得之前有個 2017 的 issue 問過能不能整合 self-host 的 Gitlab 做 SSO,
最後 maintainer 提供了一些方向就不了了之了,
截至目前為止 (2023),
官方還是沒有給出與 Gitlab 整合 authentication 的解法 QQ,
不然以我個人看法,

  • Gitlab 是目前 open-source + self-host 最好的 SCM(Source Control Management) 工具沒有之一
  • Ansible AWX 是 open-source + self-host 最有潛力成為最好的 CI/CD web portal

但顯然官方爸爸沒有非常認真在經營這個形象…
我感覺比較像是針對 Ansible Tower 需求開發的閹割版


上一篇
Ansible AWX 部署後端 API 的 docker container
下一篇
如何管理 Ansible AWX
系列文
我只是想自動執行 Ansible ,一定要用 Jenkins 嗎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言